When writing source code, a developer may use already-written segments of code rather than creating such functionality from scratch. Often, the segments of code that are to be incorporated into the developer's application are subject to an open source software (OSS) license. Many different types of OSS licenses exist and the terms of the licenses vary from license to license. The increasing use of software that is subject to OSS licenses poses a logistical problem of keeping track of the restrictions and obligations imposed by the various OSS licenses.
OSS licenses have numerous terms. By way of example, one OSS license term may require that, if the software that is covered by that license is modified by the developer, the entire application (not just the code segment subject to the OSS license, but the entire application) must be published. Some terms may require publication of the source code in certain situations while other terms may require that the executable code be released for all to use subject to the certain license terms. Another OSS license term may require that, in certain situations, credit be given to the author of the code segment subject to the license. The variety of licenses is growing and the applicable terms are voluminous. Keeping track of the applicable obligations and restrictions is problematic.